import pyautogui
import time

class MouseSimulator:
    def __init__(self):
        pass

    def move_to(self, x, y, duration=1):
        print(f"Moving mouse to ({x}, {y}) over {duration} seconds")
        pyautogui.moveTo(x, y, duration=duration)

    def click(self, x=None, y=None, button='left'):
        if x is not None and y is not None:
            print(f"Clicking at ({x}, {y}) with {button} button")
            pyautogui.click(x, y, button=button)
        else:
            print(f"Clicking at current position with {button} button")
            pyautogui.click(button=button)

    def double_click(self, x=None, y=None, button='left'):
        if x is not None and y is not None:
            print(f"Double clicking at ({x}, {y}) with {button} button")
            pyautogui.doubleClick(x, y, button=button)
        else:
            print(f"Double clicking at current position with {button} button")
            pyautogui.doubleClick(button=button)

    def right_click(self, x=None, y=None):
        self.click(x, y, button='right')

if __name__ == '__main__':
    mouse = MouseSimulator()
    mouse.move_to(80, 100, duration=2)
    mouse.click()
    mouse.double_click(200, 200)
    mouse.right_click(300, 300)
